/**
  * Author: Mei
  * Date: 2020-12-13 15:11
  * Description:  hash function
  * 主要用来计算hash_code值  够乱就行  这样才不会聚集和碰撞
  *
  */
#include "../head.h"

using namespace std;

template<typename T1, typename T2>
class MyTraits {
public:
    typedef T1 my_type1;
private:
    typedef T2 my_type2;
};
template<typename T>
struct map1 {
    typedef T value_type;
};
int main() {
    //一般为了区分类的静态成员方法也使用::的方式  所以类外引用类模板的公有类型成员的写法需要
    //加上typename  并且在声明的时候 需要显示制定模板的参数类型
    typename MyTraits<int,double>::my_type1 a = 10;
    cout << a << endl;

    //void (* b[10])(void(*)());

    typedef void (*pFunParam)();
    typedef void(*pFunx)(pFunParam);
    pFunx b[10];

    typename map1<int>::value_type c = 20;
    cout << c << endl;

    return 0;
}